The present invention relates to a method for halftoning of colour images. In a specific embodiment the invention is related to an improved method for halftoning images using error diffusion.
Traditionally halftoning images for printing is done using only two levels. The continuous tone density value of an input pixel to be reproduced is approximated by printing an appropriate percentage of dots within an area representing the pixel. At a particular position of the binary reproduction either a dot or no dot can be placed. It can be considered that a continuous tone image is an image containing multiple grey levels with no perceptible quantization to them.
Error diffusion is a well-established halftoning technique, especially fit for printers that are able to produce dispersed dots, like inkjet printers. Error diffusion algorithms exist for both grey-level images and colour images. The basic error-diffusion algorithm works as follows and is illustrated in FIG. 1. The first input pixel value 21 of the original image 22 is quantized by the quantizer to the nearest allowed output value (reproducible level) of the output system to obtain the output pixel value 24. The quantization error 25, i.e. the difference between the continuous tone input value and the output pixel value 24, is stored in an error buffer 26 and is later diffused to future pixels. For following pixels the input pixel value 21 is modified by the content of the error buffer 26 resulting in modified input pixel value 27 which is fed to the quantizer.
The simplest way to extend the algorithm from grey scale to colour is to perform the grey-scale algorithm separately on each colour component or component image of the colour-separated image, e.g. Cyan, Magenta, Yellow for a 3-ink device where there are 3 colour components; or,
Cyan, Magenta, Yellow, Black for a 4-ink device where black is also colour component and there are 4 colour components.
Each colour component contains pixels which correspond spatially to pixels in other colour component separations. The result of the extended algorithm for a pixel is formed by the combination of the result obtained from the algorithm for spatially corresponding pixels in each colour component.
Error diffusion performed on an image or image component, where each pixel is represented by a single number, is called a scalar error diffusion.
The alternative is to make explicit use of the three-dimensionality of colour space and to diffuse a three dimensional colour-error vector instead of 3 or 4 scalar ink errors. This approach was described by Sullivan et al. in patent U.S. Pat. No. 5,070,413 for binary colour images. For n inks, there are 2n basic (i.e. printable) colours in a binary device. A pixel""s colour is mapped to the closest basic colour, and the resulting colour error vector is diffused to the unprocessed neighbouring pixels. See e.g. Ronald S. Gentile, Eric Walowit, and Jan P. Allebach. Quantization and multilevel halftoning of colour images for near original image quality. J. Opt Soc. Am. A Vol. 7, 1019-1026.
The procedure is readily extended to multi-level printing. In contrast to binary printers that can attain only two values per ink (ink/no ink), multi-level printing devices can attain more density values by either varying the ink-drop size or the ink density. For a printer capable to produce k levels for all n inks, the number of basic colours equals kn. Again, an input pixel""s colour is mapped to the closest basic colour in the multilevel output system, and the resulting colour error vector representing the difference between the input colour and the reproduced output colour is diffused to the unprocessed neighbouring pixels.
The original contone image is typically quantized to 256 values per colour component.
Due to restrictions of the output system, the reproduced halftone image contains much less different colour values, resulting in a visual difference between the original contone image and the reproduced halftone image.
Effort has been made to minimise the visual difference between the original and the reproduced image.
First of all, the method of error diffusion itself does quite a good job because of its xe2x80x9cblue-noisexe2x80x9d characteristic. This means that the resulting difference contains predominantly high-frequency errors, which are less visible to the eye than lower-frequency errors.
More investigation on this blue-noise characteristic has led to variants of the basic error-diffusion algorithm. See e.g. Robert A. Ulichney. Dithering with blue noise. Proceedings of the IEEE, 76(1):56-79, January 1988.
Further incorporation of characteristics of the human visual system is described in the above-mentioned Sullivan patent U.S. Pat. No. 5,070,41. Here the error vector is blurred according to a model of the human modulation transfer function. It takes into account human contrast sensitivity data. Contrast in relation to colour images can be defined as a difference in colour which is a combination of brightness, hue and chroma.
More attempts have been made since then, to optimise halftoning algorithms with respect to contrast sensitivity.
A great deal of effort has gone to incorporating the shape of the contrast sensitivity curve into halftoning algorithms. Much less attention has been paid to differences in contrast sensitivity between luminance and chrominance channels. In view of the blue-noise characteristic of error diffusion, the high-frequency side of the contrast sensitivity curves is most important. We refer to a red-green or blue-yellow grating as discussed in: Kathy T. Mullen. The contrast sensitivity of human colour vision to red-green and blue-yellow chromatic gratings. J. Physiol. 359, 381-400, 1985. When comparing the contrast sensitivity curves measured from monochrome gratings with those of coloured gratings, it is immediately clear that high-frequency errors in the luminance channel are more noticeable than those in the chrominance channels. This implies that isolated dots will be far more noticeable when they differ in luminance with their background than when they differ in chrominance and have a similar luminance. A good halftoning method should take that into account. A method that does so is described in U.S. Pat. No. 5,991,438 (Shaked, Arad, Fitzhugh, Sobel, McGuire), where the set of output halftone colours is limited to tetrahedra in colour space to minimise dot-brightness contrast in the output image.
Another issue concerns the visibility of dot patterns of the dots from colours similar in luminance. If e.g. a colour is printed by placing few darker pixels in between lighter ones, the dot pattern of these darker pixels is important. These dots should have an homogeneous appearance. Colour-error diffusion does not fully solve this problem. Moreover, normal colour-error diffusion is not optimal with respect to printer deficiencies such as misalignment. This method picks out the closest possible output colour in a colour space, mostly three-dimensional, but this can yield awkwardly discontinuous separation images, which cause colour shift if the print heads are not perfectly aligned.
An interesting approach to the problem is given in U.S. Pat. No. 5,621,546 (Klassen, Eschbach, Bharat), where a guiding ink-error-diffusion process is used to assist the colour-error diffusion. This ink-error diffusion is a bi-level process. In addition, a distorted colour space is used for the colour-error diffusion. Whereas the Shaked patent U.S. Pat. No. 5,991,438 does not fully takes into account the dot pattern problem, the Klassen patent U.S. Pat. No. 5,621,546 runs short in discriminating multiple levels of luminance. In addition, both patents leave undiscussed the matter of printing with more than 3 inks.
None of the prior art documents takes account of both the dot brightness contrast and the dot pattern visibility problems at the same time resulting in undesirable drawbacks as mentioned herein above.
It is an object of the present invention to provide an improved method for halftoning colour images in a binary or multilevel halftone colour reproduction system avoiding unwanted colour density deviations.
It is a further object of the invention to minimise dot appearance in a binary or multilevel halftoning.
The above-mentioned objects are realised by a method having the specific features set out in claim 1. Specific features for preferred embodiments of the invention are set out in the dependent claims. An apparatus for realising the method is set out in claim 10. Further advantages and embodiments of the present invention will become apparent from the following description and drawings.
A colour component of a colour image is an image obtained after colour separation of an input image and which represents the information of a single colour of the input image. In a 3 colour ink process, e.g. a cyan, magenta, yellow process, the input image can be separated into 3 separate images, a cyan colour component containing the image information regarding the cyan ink, and likewise a magenta en yellow colour component containing the information about magenta en yellow inks respectively.
The colour image comprises colour pixels while the colour components comprise component pixels.
In a cmyk system there are 4 colour components wherein the 4-th colour component is formed by the information about the black (k) ink.
Generally a K-ink system has K colour components.
It is also possible to use different inks having the same chromaticity but different density e.g. two kinds of magenta ink. The information about the use of each ink then can be considered as a separate colour component. Even when reproducing a grey scale image by using 2 grey inks having a different density, it can be considered that each ink provides a different colour component. One can also consider it as being a single component having multiple levels.
The term corresponding pixels refers to component pixels from different colour components representing information of a colour pixel of a spatially corresponding part of the input image or reproduced image. When the colour component images all have the same resolution and the same location on e.g. a page, the component pixels having the same co-ordinates in each matrix of each colour component form a set of corresponding pixels. Other systems may be possible. It is possible to have one or more colour components at a different resolution. The yellow component can e.g. have a resolution of 12xc3x9712 dots/mm (300xc3x97300 dpi) while the other components can have a resolution of 24xc3x9724 dots/mm corresponding to 600xc3x97600 dots per inch. The input pixel value of the yellow colour component can then serve as value to determine the output pixel value for 4 output pixels of an output image having a resolution of 24xc3x9724 dots/mm (600xc3x97600 dpi).
The term input pixel value refers to the value of a pixel read from the input image or colour component which is delivered to the quantizer. This value can be modified before it is fed to the quantizer.
This can be the pixel value of a colour component pixel or a colour pixel or a scalar value of a pixel. In error diffusion methods the input pixel value can be modified by the addition of errors out of the error buffer. Certain methods even further modify the input pixel value in order to avoid disturbing artefacts.
The term intensity level refers a density level which can be rendered by an output device. The intensity level of a pixel corresponds to the output pixel value for that pixel. In a system where only two different density levels can be reproduced, ink or no ink, it is a bi-level system where the intensity can be minimal corresponding to a output value 0, and or maximal corresponding to the output value 1. In a multi-level system several output densities can be reproduced corresponding to several output pixel values. As mentioned above, this can be done in an ink-jet system by Drop size, drop count or ink density variation.
When a device having K colour components or colorants is capable of reproducing Nj intensity levels for colorant j, 1xe2x89xa6jxe2x89xa6K, it is possible to reproduce N1*N2* . . . *NK different colours defined by the complete set of intensity level combinations which can be made. Out of the input pixel colour component values a single number or a scalar can be calculated. A possible value which can be calculated is a brightness value (B) which may be represented in a cmy 3-ink system having only two levels for each colour by
by B=3xe2x88x92cxe2x88x92mxe2x88x92y
where c, m, y are the pixel values for each colour component respectively.
An alternative scalar value I representative for the amount if ink deposited may be calculated where I=3xe2x88x92B.
Also other scalar values may be calculated based upon at least one of the three pixel values. These scalar values may represent several parameter such as gloss, etc.
When calculating a scalar value for each colour pixel of an input image, an new image is obtained having the scalar value as pixel value.
A multilevel halftoning process refers to a process for reducing the number of levels in an image.
A continuous tone image is an image containing multiple levels with no perceptible quantization to them. By the multilevel halftoning process the multiple levels are reduced to a lower number of levels. Contrary to bi-level halftoning, multilevel halftoning provides more than two levels as output value. The multilevel halftoning can process the input pixel values as read from the input image, but also an image obtained by calculating a scalar value for each pixel can be processed by a halftoning algorithm.
Possible halftoning processes are a multi-level screening procedure or multi-level error diffusion.
An example of multi-level error diffusion is multi-level Floyd-Steinberg error diffusion, an extension of the algorithm by Floyd and Steinberg, see FLOYD R W and STEINBERG L, An adaptive algorithm for spatial grey scale, Society for Information Display 1975 Symposium Digest of Technical Papers, 36-37 (1975). In this algorithm the image pixels are processed in a sequential way.
An alternative way to reduce the number of gradation levels is the use of multi-level screening techniques instead of error diffusion.
It has the advantage over the above-mentioned tetrahedral method that dot positions are less correlated. In contrast to the Klassen method U.S. Pat. No. 5,621,546 that uses a distorted colour space and a bi-level guiding error-diffusion, the current invention has no specific need to use a distorted colour space and a multilevel guiding error-diffusion, which discriminates between multiple luminance levels. Below is explained how the method according to the current invention can be implemented for multilevel printing processes, and for printing with more than 3 inks.